#include <iostream>

#include <iostream>
class Printer {
public:
    virtual void print() = 0;
};

class Scanner {
public:
    virtual void scan() = 0;
};

class Copier {
public:
    virtual void copy() = 0;
};

class PrinterOnly : public Printer {
public:
    void print() override {
        std::cout << "Print document" << std::endl;
    }
};

class PrinterScannerCopier : public Printer, public Scanner, public Copier {
public:
    void print() override {
        std::cout << "Print document" << std::endl;
    }

    void scan() override {
        std::cout << "Scan document" << std::endl;
    }

    void copy() override {
        std::cout << "Copy document" << std::endl;
    }
};
int main() {
    PrinterOnly printer;
    PrinterScannerCopier psc;
    printer.print();
    psc.print();
    psc.scan();
    psc.copy();
    return 0;
}